+++++++++++++++++++++++++++++++++++++++++++++++
::    -=FINAL FANTASY II: DAWN of SOULS=-    ::
::     -CHARACTER BASE STAT DATA FORMAT- v1.1::
+++++++++++++++++++++++++++++++++++++++++++++++
	Character block analysis and documentation
	by Topaz Light.

Starts at offset 0x0025CD50 in the US
"Final Fantasy I & II: Dawn of Souls" ROM.

128 bytes per character.

-----------------------------------------------
               FORMAT BREAKDOWN
-----------------------------------------------
The very first byte of all character base stat
blocks is a tad lengthy to explain properly,
so I want to get it out of the way first here:
+   Handedness and starting row bitflags in the
    high nybble. Most significant bit is handedness,
    second most significant bit is starting row.
    In hex:
	0 (0b0000) = Front row, right-handed
	4 (0b0100) = Back row, right-handed
	8 (0b1000) = Front row, left-handed
	C (0b1100) = Back row, left-handed
-   The purpose of the two least significant bits,
    if there is any, is unknown.
+   Low nybble is sprite set. This affects battle
    sprites, overworld sprites, and menu portraits.
    Worth noting that portraits displayed in
    dialogue, as well as other party members loaded
    as NPC actors during cutscenes, are not
    affected by this value.
	0 = Firion
	1 = Maria
	2 = Guy
	3 = Minwu
	4 = Josef
	5 = Gordon
	6 = Leila
	7 = Ricard
	8 = Leon
	9 = Leon (duplicate)
	A = Scott
	B = -garbage data; empty battle sprites-
      C~E = -garbage data; completely blank sprite set-
	F = -garbage data; uses Firion's portrait with blank battle sprites-
-   Sprite set IDs B ~ F cause the game to hang
    whenever any non-idle animation for that
    character is called.

The remaining bytes are detailed below:

BOOKEND SAMPLE A:
LEON	(0x0025D150 ~ 0x0025D1CF)
[endgame]
===================================================
0x… …0 …1 …2 …3 …4 …5 …6 …7 …8 …9 …A …B …C …D …E …F
  -------------------------------------------------
0…| 88 00 FA 00 B8 00 FE 00 DD 00 F9 00 D6 00 FF 80
1…| FF 80 4A 04 4A 04 05 00 05 00 35 2D 2E 24 10 20
2…| 00 00 00 5B 66 75 82 94 00 00 00 00 00 00 00 00
3…| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
4…| 00 00 00 00 00 00 00 00 00 00 56 02 58 05 28 08
5…| 34 06 47 09 26 07 25 04 60 03 00 01 00 01 00 01
6…| 00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01
7…| 00 01 00 01 00 01 00 01 00 01 49 02 34 02 00 00
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00: See the beginning of the "FORMAT BREAKDOWN" section.

01~11 = Unknown

12~1F = Core Stats
--------------------------------------------------
12~13:	Current HP	(Two bytes; little-endian)
14~15:	Max HP		(Two bytes; little-endian)
16~17:	Current MP	(Two bytes; little-endian)
18~19:	Max MP		(Two bytes; little-endian)
1A:	Strength	(One byte)
1B:	Agility		(One byte)
1C:	Stamina		(One byte)
1D:	Intelligence	(One byte)
1E:	Spirit		(One byte)
1F:	Magic		(One byte)
--------------------------------------------------

20~22: Unknown; seem to always be 00?

From here on, "FFII Advance Spell & Item Indices"
is a highly-recommended companion piece for parsing
the data in these ranges.

23~29: Initial equipment
----------------------------------------------------
23:	Right Hand slot
24:	Left Hand slot
25:	Head slot
26:	Body slot
27:	Arms slot
28:	Item slot 1 (unused; holdover from original)
29:	Item slot 2 (unused; holdover from original)
----------------------------------------------------

2A~39: Unknown.

3A~49: Learned spells (one byte each; 16 slots)

4A~59: Weapon proficiency ranks
	Two bytes each. The first byte is EXP,
	the second byte is rank.
--------------------------------------------------
4A~4B:	Unarmed EXP ~ Unarmed Rank
4C~4D:	Knife EXP   ~ Knife Rank
4E~4F:	Sword EXP   ~ Sword Rank
50~51:	Staff EXP   ~ Staff Rank
52~53:	Axe EXP     ~ Axe Rank
54~55:	Spear EXP   ~ Spear Rank
56~57:	Bow EXP     ~ Bow Rank
58~59:	Shield EXP  ~ Shield Rank
--------------------------------------------------

5A~79: Spell proficiency ranks, in the same order
	as the learned spell lists detailed above.
	Same two-byte structure of "EXP, Rank",
	as well.

7A~7D: Evasion and Magic Defense EXP and Rank.
	Unlike other numerical stats, Evasion
	and Magic Defense are increase in the
	same way that spell and weapon ranks are.
--------------------------------------------------
7A~7B:	Evasion EXP	  ~ Evasion Rank
7C~7D:	Magic Defense EXP ~ Magic Defense Rank
--------------------------------------------------

7E~7F: Buffer. Always seems to be 00.

BOOKEND SAMPLE B:
MINWU	(0x0025CED0 ~ 0x0025CF4F)
===================================================
0x… …0 …1 …2 …3 …4 …5 …6 …7 …8 …9 …A …B …C …D …E …F
  -------------------------------------------------
0…| 03 00 ED 00 FE 00 B4 00 FF 80 FF 80 FF 80 FF 80
1…| FF 80 AF 00 AF 00 67 00 67 00 0A 14 14 10 30 28
2…| 00 00 00 41 30 00 85 00 2B 19 00 00 00 00 00 00
3…| 00 00 00 00 00 00 00 00 00 00 15 16 17 18 19 1A
4…| 1B 1C 1D 1E 20 21 22 24 25 27 00 01 00 01 00 01
5…| 00 01 00 01 00 01 00 01 00 01 3A 07 31 07 07 06
6…| 4D 03 34 07 43 05 45 05 4B 06 43 05 61 03 40 04
7…| 23 04 4E 06 1D 03 14 03 00 01 62 00 14 01 00 00
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

-----------------------------------------------
            CHARACTER STAT BLOCKS
-----------------------------------------------

FIRION	(0x0025CD50 ~ 0x0025CDCF)
===============================================
00 00 E3 00 F8 00 B8 00 D9 00 46 00 F9 00 FF 80
FF 80 1E 00 1E 00 0A 00 0A 00 0A 0A 0A 0A 0A 05
00 00 00 53 31 00 7B 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 01
00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01
00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01
00 01 00 01 00 01 00 01 00 01 00 00 00 00 00 00
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

MARIA	(0x0025CDD0 ~ 0x0025CE4F)
===============================================
41 00 EC 00 F8 00 B0 00 FF 80 FF 80 FF 80 FF 80
FF 80 14 00 14 00 0A 00 0A 00 05 0F 05 0F 0A 05
00 00 00 68 30 00 7A 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 01
00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01
00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01
00 01 00 01 00 01 00 01 00 01 00 00 00 00 00 00
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

GUY	(0x0025CE50 ~ 0x0025CECF)
===============================================
02 00 BA 00 B2 00 FF 80 FF 80 FF 80 FF 80 FF 80
FF 80 28 00 28 00 0A 00 0A 00 0F 05 0F 0A 0A 05
00 00 00 61 30 00 7B 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 01
00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01
00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01
00 01 00 01 00 01 00 01 00 01 00 00 00 00 00 00
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

MINWU	(0x0025CED0 ~ 0x0025CF4F)
===============================================
03 00 ED 00 FE 00 B4 00 FF 80 FF 80 FF 80 FF 80
FF 80 AF 00 AF 00 67 00 67 00 0A 14 14 10 30 28
00 00 00 41 30 00 85 00 2B 19 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 15 16 17 18 19 1A
1B 1C 1D 1E 20 21 22 24 25 27 00 01 00 01 00 01
00 01 00 01 00 01 00 01 00 01 3A 07 31 07 07 06
4D 03 34 07 43 05 45 05 4B 06 43 05 61 03 40 04
23 04 4E 06 1D 03 14 03 00 01 62 00 14 01 00 00
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

JOSEF	(0x0025CF50 ~ 0x0025CFCF)
===============================================
04 00 F6 00 46 00 CA 00 E3 00 FF 80 FF 80 FF 80
FF 80 EB 00 EB 00 05 00 05 00 18 18 18 0A 0A 0A
00 00 00 30 30 70 7B 8E 1E 10 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 02 00 01 00 01
00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01
00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01
00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 00
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

GORDON	(0x0025CFD0 ~ 0x0025D04F)
===============================================
05 00 C2 00 46 00 D7 00 FE 00 FF 80 FF 80 FF 80
FF 80 80 00 80 00 0F 00 0F 00 16 16 16 16 16 16
00 00 00 4B 32 00 7C 8F 10 10 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 02 00 02 00 02
00 02 00 02 00 02 00 02 00 02 00 01 00 01 00 01
00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01
00 01 00 01 00 01 00 01 00 01 00 00 00 00 00 00
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

LEILA	(0x0025D050 ~ 0x0025D0CF)
===============================================
86 00 FA 00 B2 00 F7 00 FF 80 FF 80 FF 80 FF 80
FF 80 F8 00 F8 00 23 00 23 00 12 1A 12 10 0A 0A
00 00 00 3B 54 78 86 00 69 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 01 35 05 00 05
00 01 00 01 00 01 0A 04 00 01 22 04 00 01 00 01
00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01
00 01 00 01 00 01 00 01 00 01 4A 01 51 01 00 00
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

RICARD	(0x0025D0D0 ~ 0x0025D14F)
===============================================
07 00 F8 00 CF 00 F2 00 46 00 D7 00 FF 80 FF 80
FF 80 25 02 25 02 05 00 05 00 28 1A 20 10 1A 05
00 00 00 4F 34 73 7F 92 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 01 00 01 26 08
00 01 00 01 41 08 00 01 43 05 00 01 00 01 00 01
00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01
00 01 00 01 00 01 00 01 00 01 61 01 36 01 00 00
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

LEON	(0x0025D150 ~ 0x0025D1CF)
[endgame]
===============================================
88 00 FA 00 B8 00 FE 00 DD 00 F9 00 D6 00 FF 80
FF 80 4A 04 4A 04 05 00 05 00 35 2D 2E 24 10 20
00 00 00 5B 66 75 82 94 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 56 02 58 05 28 08
34 06 47 09 26 07 25 04 60 03 00 01 00 01 00 01
00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01
00 01 00 01 00 01 00 01 00 01 49 02 34 02 00 00
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

LEON	(0x0025D1D0 ~ 0x0025D24F)
[intro battle]
===============================================
88 00 FA 00 B8 00 FE 00 DD 00 F9 00 D6 00 FF 80
FF 80 1E 00 1E 00 05 00 05 00 0A 0A 0A 0A 0A 05
00 00 00 31 53 00 7B 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 01
00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01
00 01 00 01 00 01 00 01 00 01 00 01 00 01 00 01
00 01 00 01 00 01 00 01 00 01 00 00 00 00 00 00
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

SCOTT	(0x0025D250 ~ 0x0025D2CF)
===============================================
8A 00 FA 00 B8 00 FE 00 DD 00 F9 00 D6 00 FF 80
FF 80 BC 02 BC 02 64 00 64 00 1E 23 1E 1E 1E 1E
06 53 0B 33 55 72 7D 90 00 00 00 00 00 00 00 00
01 05 02 14 01 41 01 3C 00 7C 01 02 03 15 16 00
00 00 00 00 00 00 00 00 00 00 00 02 00 02 00 08
00 02 00 02 00 02 00 02 00 07 00 04 00 04 00 04
00 04 00 01 00 01 00 01 00 01 00 01 00 01 00 01
00 01 00 01 00 01 00 01 00 01 20 02 62 01 00 00
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

-----------------------------------------------
            SUPPLEMENTARY  MATERIAL
       PROFICIENCY RANK EXP REQUIREMENTS
-----------------------------------------------

Located from 0x00238A69 to 0x00238A78 in ROM.

===============================================
B4 00 14 00 00 00 00 00 00 14 19 19 1E 23 28 2D
32 3C 46 50 5A 5A 64 64 64 00 00 00 00 00 00 00
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The default values are...

EXP to
Lv…	Dec.	Hex.
--------------------
 2	 20	14
 3	 25	19
 4	 25	19
 5	 30	1E
 6	 35	23
 7	 40	28
 8	 45	2D
 9	 50	32
10	 60	3C
11	 70	46
12	 80	50
13	 90	5A
14	 90	5A
15	100	64
16	100	64
17*	100	64
--------------------
*Proficiency ranks max out at level 16,
 but a threshold for reaching level 17
 is still defined in the table.

+++++++++++++++++++++++++++++++++++++++++++++++
:::::::::::::::::::::::::::::::::::::::::::::::
+++++++++++++++++++++++++++++++++++++++++++++++